kafka管理工具 | 监控 | 偏移量 | 消费| offset,必备技能
Kafka内部提供了许多管理脚本,这些脚本都放在$KAFKA_HOME/bin目录下,CDH版本放在/opt/cloudera/parcels/KAFKA-3.1.0-1.3.1.0.p0.35/lib/kafka/bin目录下。
企业生产中,我们可以通过 bin/kafka-topics.sh、bin/kafka-consumer-groups.sh、bin/kafka-run-class.sh 内部管理执行脚本监控Consumer的Group、Topic、Pid、消费的Offset、总logSize大小和未消费堆积的Lag等信息,结合shell或python调度脚本可以大有用途。
0. 进入kafka的执行目录
cd /opt/cloudera/parcels/KAFKA-3.1.0-1.3.1.0.p0.35/lib/kafka/
1. 查看所有的kafka topic列表:
bin/kafka-topics.sh -zookeeper hadoop-5:2181,hadoop-6:2181 -list
2. 查看kafka特定topic详情,使用--topic与--describe参数
bin/kafka-topics.sh -zookeeper hadoop-5:2181,hadoop-6:2181 --topic ztjy.dt.log.adv --describe
3.查看 consumer group列表:
3.1.新版本 (信息保存在broker中) > 0.9.0 version 故 需要指定bootstrap--server参数
bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server hadoop-4:9092,hadoop-5:9092,hadoop-6:9092 --list
3.2.老版本 (信息保存在zookeeper中) <= 0.9.0 故 需要指定zookeeper参数
bin/kafka-consumer-groups.sh --zookeeper hadoop-5:2181,hadoop-6:2181,hadoop-4:2181 --list
4. 查看 consumer group详情: 相同的
4.1.新版本 (信息保存在broker中) > 0.9.0 version 故 需要指定bootstrap--server参数
bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server hadoop-4:9092,hadoop-5:9092,hadoop-6:9092 --group kafka-hdfs --describe
4.2.老版本 (信息保存在zookeeper中) <= 0.9.0 故 需要指定zookeeper参数
bin/kafka-consumer-groups.sh --zookeeper hadoop-5:2181,hadoop-6:2181,hadoop-4:2181 --group kafka-hdfs --describe
报错:Error: The consumer group 'kafka-hdfs' does not exist.
因为 --group kafka-hdfs 组是保存在broker中的,而不是在zookeeper中,所以用上面2方式查询会报错。
5.列出所有消费者组的所有信息: 老版本 <= 0.9.0
包括Group(消费者组)、Topic、Pid(分区id)、Offset(当前已消费的条数)、LogSize(总条数)、Lag(未消费的条数)、Owner等信息。
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper hadoop-5:2181,hadoop-6:2181,hadoop-4:2181 --group kafka-hdfs --topic topic.log.uv
WARN WARNING: ConsumerOffsetChecker is deprecated and will be dropped in releases following 0.9.0. Use ConsumerGroupCommand instead. (kafka.tools.ConsumerOffsetChecker$)